Technical Field
The embodiments herein relate to the field of information systems, and more particularly to recommendation engines that generate recommendations based at least partially on the social networking profiles of users.
Description of the Related Art
With the advent of the information age, people, especially internet users are provided with access to enormous volumes of information. The availability of enormous amounts of information not only provides a user with much needed information, but also increases the difficulty linked with identifying and analyzing the right set of information. Such a phenomenon wherein information is available aplenty but right information is not readily accessible is referred to as information overload.
Use of recommendation engines is one of the solutions for overcoming the drawbacks associated with information overload. A recommendation engine typically generates and provides personalized recommendations to a user. A recommendation engine assists users in finding relevant results in a personalized manner; i.e., based on a user's personal choices and preferences.
One of the preferred methods of generating recommendations is the statistical method, wherein behavioral aspects of a user and the statistics thereof are analyzed in detail and subsequently correlated to generate a recommendation. Conventional recommendation engines typically employ the statistical method and typically elicit information encompassing wide spectrums, analyzing which can indeed be overwhelming for a user. Furthermore, conventional recommendation engines typically employ statistical methods to calculate scale factors to generate prediction models based on regression analyses. Such prediction models typically work only if an adequate amount of training data/data clusters is/are available for the prediction model. However, in case of certain product/service related recommendations, the available data can lack the density, which renders them unsuitable for further utilization in a regression analysis based prediction model. Such a phenomenon is typically referred to as a ‘sparse data problem’. The ‘sparse data problem’ renders a regression based prediction model to generate simplistic results such as, for example, ‘if a user likes product ‘A’, he would also like product ‘B’ which is in the same category as ‘A’. However, the ‘sparse data problem’ can be overcome by eliciting additional information (including tastes related information, preferences related information) from the user at the time of generating recommendations. However, the utilization of such a phenomenon may complicate the process of generating recommendations by overly emphasizing the need for prompting the user to manually provide the information necessary for generating recommendations.
Due to the presence of information covering much wider spectrum than required by the user, the vital information that was actually searched for could end up getting ignored. However, if the user is diligent, he may try and go through the available information and attempt to find out the necessary information. However, such a search would often be time consuming and may not result in an optimum result set. Often, the user would have to settle for less relevant information instead of taking into consideration all the available and presented information.
The disadvantages of ‘information overload’, ‘sparse data problem’, and ‘lack of recommendations’ is true for electronic media such as movies, wherein at least several hundreds of movies are made available for public viewing every week. Typically, recommendation engines generate movie recommendations by analyzing users' behavior which is presumed typically based on the keywords/reviews/opinions provided by the user. A conventional recommendation engine typically takes into consideration the genre related information linked with the movie logs, which were previously accessed by the user, to generate futuristic movie recommendations.
One of the drawbacks associated with conventional recommendation engines is that they can generate a movie recommendation corresponding to a user, only after sufficient keywords and movie genre related information have been acquired from the user. To overcome the aforementioned drawback, some of the conventional recommendation engines attempted to generate movie recommendations despite the absence of operational logs (keywords and movie genre related information) by utilizing the movie related trends retrieved from the data corresponding to other likeminded users (who could be connected to the user in question, on a social networking website). However, the quality of such recommendations were compromised given the fact that the movies were recommended solely based on the movie tastes related data gathered from people who were perceived to be having same tastes as that of the user in question, since they were connected with the user (in question), in one way or the other. Moreover, some of the conventional recommendation engines were solely completely upon availability of sufficient operational logs (of the users) in order to be able to begin generating near accurate recommendations corresponding to the movies.
Furthermore, some of the conventional recommendation engines made use of the user-user distance algorithm to provide recommendations to users. The user-user algorithm calculates the distance between the users, taking into consideration the ratings provided by the respective users in respect of a particular entity. For example, if user ‘A’ and user ‘B’ have provided a five star rating to a particular movie, then the distance between them is zero, and both the users (‘A’ and ‘B’) are presumed to be having similar tastes and preferences. Some of the conventional recommendation engines indeed use the distance between the individual users to generate recommendations. However, accurately computing the distances between users is generally always a tedious task given the possibility of the existence of minimal common traits. Moreover, in case of movies, the ratings provided by users would typically relate to those movies which have performed positively in terms of revenue generation and viewers' response. Therefore, generating a recommendation involving a movie which has not been termed as a blockbuster is difficult, owing to the lack of user ratings, which in turn affects the effective implementation of the user-user distance algorithm. Moreover, conventional recommendation engines were expected to generate recommendations on the fly, and utilization of a user-user distance algorithm, which involved determining the common traits amongst the users and analyzing the distance between the users, to generate recommendations, was a time consuming task in terms of information analysis and result generation, given the fact that determining common traits involved analysis of large number of user attributes.
Therefore, there was felt a need for a computer implemented system which could accurately and swiftly generate recommendations, for example, movie recommendations, based on the careful scrutiny of tastes of individual users. There was also felt a need for a system which could generate effective and accurate recommendations despite the absence of operational logs (of users). There was also felt a need for a system that is capable of accurately correlating a user's tastes and preferences with any existing reviews/operational logs, and recommend an item to the user based on the aforementioned correlation. There was also felt a need for a computer implemented system which encompassed a low turnaround time in terms of generating accurate recommendations. There was also felt a need for a system that would take into consideration the tastes, preferences and activities of a user, gathered by analyzing the user's social networking website profile (in addition to gathering a user's tastes and preferences through the existing reviews of the user), while generating a recommendation.